#include <iostream>
#include <vector>
using namespace std;
size_t msize() { return 1; }

template <typename... Args> size_t msize(size_t first, Args... args) {
  return first * msize(args...);
}


int main() {

  cout << msize(1, 2, 2, 2) << "\n";
  int a = 3, b = 1, c = 2;
  cout << (a += b + c) << "\n";
  cout << a << "\n";
  vector<int> v;
  v.push_back(2);
  v.push_back(4);
  cout << v.size() << endl;
  cout << v[0] << endl;
  v.~vector();
  cout << v.size() << endl;
  v.push_back(10);
  cout << v[0] << endl;
  vector<int> vv(10);
  cout << vv.size() << endl;
  // vector<int> vvv()
  int *iii = new int[0];
  return 0;
}